package principal;
import java.io.*;
import java.util.ArrayList;

class LeeFichero {
	
	public ArrayList<String> titulos;	// Titulos de las consultas
	public ArrayList<String> vistas;
	public ArrayList<String> consultas;
	
	public LeeFichero(){
		titulos = new ArrayList<String>();
		vistas = new ArrayList<String>();
		consultas = new ArrayList<String>();
	}
	
	public void leeConsultas (String fichero) {
		File archivo = null;
		FileReader fr = null;
		BufferedReader br = null;
		try {
			// Apertura del fichero y creacion de BufferedReader para poder
			// hacer una lectura comoda (disponer del metodo readLine()).
			archivo = new File (fichero);
			fr = new FileReader (archivo);
			br = new BufferedReader(fr);
			// Lectura del fichero
			String linea;
			while((linea=br.readLine())!= null)
				if (linea.startsWith("--")){
					titulos.add(linea);
				}
				else{
					if(linea.startsWith("CREATE"))
						vistas.add(linea);
					else if(linea.startsWith("SELECT"))
						consultas.add(linea);		
				}
					
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			// En el finally cerramos el fichero, para asegurarnos
			// que se cierra tanto si todo va bien como si salta
			// una excepcion.
			try{
				if( null != fr ){
					fr.close();
				}
			}catch (Exception e2){
				e2.printStackTrace();
			}
		}

	}
	
	public ArrayList<String> leeComandos (String fichero) {
		ArrayList<String> comandos = new ArrayList<String>();
		
		File archivo = null;
		FileReader fr = null;
		BufferedReader br = null;
		try {
			// Apertura del fichero y creacion de BufferedReader para poder
			// hacer una lectura comoda (disponer del metodo readLine()).
			archivo = new File (fichero);
			fr = new FileReader (archivo);
			br = new BufferedReader(fr);
			// Lectura del fichero
			String linea;
			String comando;
			while((linea=br.readLine())!= null)
				if (!linea.startsWith("--") && !linea.equals("")){
					comando = linea;
					while((linea=br.readLine()) != null && !linea.equals(""))
						comando += linea;
					comandos.add(comando);
				}
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			// En el finally cerramos el fichero, para asegurarnos
			// que se cierra tanto si todo va bien como si salta
			// una excepcion.
			try{
				if( null != fr ){
					fr.close();
				}
			}catch (Exception e2){
				e2.printStackTrace();
			}
		}
		return comandos;
	}
}